过程“Tracert检测”输出(批) | 您所在的位置:网站首页 › windows tracert用法 › 过程“Tracert检测”输出(批) |
1 - 为什么所有的线路?该命令在命令行上执行,echo已打开,并且对于for循环的每次执行,包含要执行的命令的行都被回显给控制台,并且由于该行执行echo命令,结果也会被回显。 2 - 为什么检索的数据不正确? tracert的返回比用IP地址的多行,并且您没有过滤他们 delims子句接受的被用作分隔符,而不是完整的单词单个字符的序列。无论如何,它可以工作,因为所有的m和s字符都被认为是分隔符,但是 tracert命令的输出中的ip地址不是输出中的第二个标记,所以对于每一行未检索adecuated部分和 为你执行一组命令每行,但 一)你不需要它呼应的IP地址到一个文件, b)set命令应该以相反的顺序写入set var=value(或者我可能不了解什么你在做,对不起,在这种情况下),所以它应该是set ip=%a c)假设所有前面的更正,它仍然不起作用。 ip变量的值在您尝试回显它的同一行/块内更改。但是,在达到代码行时,解析器已经消除了变量的读取(在开始执行行之前,所有读取都被替换为变量的值)。在这种情况下需要延迟扩展 3 - 如何解决? 对于直接命令行的解决方案(如你的问题),这应该做的伎俩 (@for /f "tokens=8" %a in ('tracert -4 -d 10.10.10.10^|find "ms"') do @echo %a)>ips.txt通过tracert的结果filterted只在他们ms行。 tracert仅在ipv4中执行且没有名称解析以在输出中获得一致的列数,选择了第e个列/标记(其中显示了ip地址),并直接回显该变量中的值。所有被发送到一个文件,以避免命令列入执行@command使用(相当于一个echo off单个命令) |
CopyRight 2018-2019 实验室设备网 版权所有 |